1. Field of the Invention
This invention relates to an image processing system which is adapted to electronically edit images such as characters, graphic designs and images to produce and process an image record. In particular, the invention relates to a raster image processor (RIP) which translates the codes used by a page description language (PDL) into instructions to generate a bitmap page. Then it will execute these instructions to produce the bitmap page, that eventually is printed by the printer. The bitmap page contains pixel-by-pixel information of the page and, therefore, it could be very large if the page to be printed is large or if the printer resolution is high.
2. Description of the Prior Art
It is necessary to handle high-quality images in the printing field, and it is necessary to process a great amount of image data at a high speed in order to handle these high-quality images. It has been heretofore desirable to provide an image processing system in which characters, graphic designs and the like are consolidated as a whole for editing the same.
Particularly, among others, a desktop publishing art (DTP) has been gradually realized in a manner of description, but is still less capable and efficient when it comes to handling image art.
For printing and publishing applications, the communications between the printer and host computer and the outside world is usually through a page-description language, i.e., POSTSCRIPT(copyright) (registered trademark of Adobe Systems, Inc.). Files created with the PDL are sent to the host computer through a network connection or they could be generated by the host computer itself.
The print engines are typically raster-based devices that use a laser as an exposure source. Many patents describe the basics of laser printers, i.e., U.S. Pat. Nos. 4,994,827 and 5,047,791 and 5,151,717. All raster-based printers require a steady stream of raster data to be able to print. The PDL files are not in raster form and, therefore, the need for raster image processors (RIPs)to translate the codes used by page description language into instructions to generate a bitmap page. Then the RIP will execute these instructions to produce the bit-mapped page, that is eventually printed by the printer. It should be noted that the physical location of the RIP could be either in the host computer or inside the print engine itself, but wherever located, the function of the RIP is the samexe2x80x94to convert PDL codes to a raster format.
U.S. Pat. No. 5,125,072 discloses a memory system for a printer with multi-resolution, multi-bit input data. To reduce the total size of the memory subsystem, two separate frame-stores are used. One frame-store is used for text and graphics where the data is stored at one resolution and with 2 bits-per-pixel data depth. The other frame-store is used for images only where the data is stored at a different resolution than the first frame-store (usually lower resolution) and with 4 bits-per-pixel depth. Extra data processing hardware and band buffers are added to the system to change the data resolutions, combine the different segments of a page and locate the different segments in proper locations. The extra hardware must operate at the high printing speed of the exposure subsystem which increases their cost. Also, extra addressing and data buses are required to access each of the two frame-stores. The cost of this additional hardware will not be offset by the smaller xe2x80x9coverallxe2x80x9d memory sizes.
U.S. Pat. No. 5,125,072 is directed to changing the resolution of images scanned by the scanner to match the resolution of the RIP in order to combine the two data streams for printing. There is no mention of xe2x80x9cgeneratingxe2x80x9d bit-mapped data by the RIP at low resolution.
The printer interface generally is responsible to time and position the image data pixel-by-pixel to the laser system. It will keep track of the number of pixels written and left in a line, the number of lines written and left in a separation, the separation color and the separations left to be written, and other printer-specific information. This section also contains a one-dimensional look-up table (LUT). One of its functions is to modify the tone reproduction of the printed image. If a photograph (in the image) is being printed, it is desirable to use a tone reproduction curve with a slope of 1 (more or less). Whereas, for printing text and graphics, it is generally preferred to have very sharp edges on the characters and lines. Therefore, a steep slope (high contrast) tone reproduction curve is used for texts and graphs.
The size of a single bitmap separation at 500 dpi is over 54 megabytes for a 12xc3x9718 inch page. For three colors, more than 162 megabytes of memory is needed for the bitmap separations to reside in storage. This much memory is only acceptable to high-end commercial image setters that typically cost hundreds of thousands of dollars. As indicated earlier, the bitmap image is always generated by the RIP and is then stored in the frame-store fully before it can be printed. Electrophotographic printers cannot be stopped once they begin printing a page; therefore, the full page must be rasterized and stored in a full-size frame-store in advance. Silver (AgX) based printers and image setters can stop in the middle of a page and, thus do not need full frame storage. The transfer of these huge images from the RIP to the frame-store is a very time-consuming task by itself. The SCSI channel is designed typically to handle 2-2.5 megabytes per second. That means 27 seconds for transfer of only one separation. This clearly reduces the throughput of the printer which is capable of 3.3 full color pages per minute. This throughput was used in the preferred embodiment, but could be varied using different printer configurations.
Another problem with storing the bitmap pages at full resolution of 500 dpi is that at the time of printing, data will be moving out of the frame-store at its full bandwidth rate. This translates into exclusive use of a frame-store for printing only. No images could be sent to it for storage when printing is taking place. In other words, we could not interleave image storage and image printing the way it is done for lower resolution images in the frame-store. Again, this further reduces the system throughput.
Clearly it can be seen that doubling the resolution means quadrupling the processing that the RIP must do. Presently, powerful RIPs take up to several minutes on pages with some graphics and text. The resolution of these printers is only 300 dpi. The RIP operating time will only increase if color is required. One can imagine how much time these RIPs would need to rasterize complex graphics and text pages at 500 dpi.
In accordance with the present invention, a RIP is operated in the low resolution mode thereby generating a low-resolution bit-mapped page. This low resolution page can then be transmitted quickly to the frame-store. The frame-store image is interpolated by an interpolator from a low resolution image to a higher resolution image or full resolution page for the printer which will print it in real time. Accordingly, the rasterization time is reduced considerably and so is the page transmission time. The need for a large page buffer is eliminated because the page is interpolated or expanded in real time.
The present invention provides a document generation method providing an output print data having the resolution of the print engine. The method comprises the steps of recovering print data containing coded instructions of a page description language and interpreting the coded instructions and producing a bit-mapped image representative of the received print data at a first resolution; storing the produced bit-mapped image and then interpolating the produced bit-mapped image to a second resolution and printing the interpolated bit-mapped image.
The invention further provides an apparatus for generating documents and providing output print data having the resolution of the print engine. The apparatus comprises means for receiving print data containing coded instructions of a page description language. Raster image processing means is used for interpreting said coded instructions and producing a bit-mapped image representative of the transmitted image at a first resolution and means for storing the bit-mapped image and means for interpolating the bit-mapped print data to a second resolution. There is also means for printing the interpolated print data at the second resolution.